const HttpRequest = require('../libraries/HttpRequest.js');


let {reqBaseURL} = wx.shareData;

const httpConfig = {
    baseURL: reqBaseURL,
    // method: "GET",     //默认的请求方式
    // publicData:{},     //公共参数
    // reqTransforms: [],   //请求参数转换器列表
    mainData: true,
    mainDataGet: function (responseData) {
        return responseData.data;
    },
    validateHttpStatus: [200],

    // 请求成功或者失败的弹窗回调函数
    promptHandle: function (info, success) {

        if (success) { // 请求成功
            var toastOption = {
                title: "请求成功",
                icon: "success"
            };
        } else {  // 请求失败
            toastOption = {
                title: "请求失败",
                icon: "none"
            };
        }

        wx.showToast(toastOption);

    },

    // 请求开始的提示回调函数
    startLoadHandle: function (loadText, reqOptions,loadingShowCount,globalLoadingShowCount) {
        wx.showLoading({
            title: loadText
        });
    },

    // 请求结束的提示回调函数
    endLoadHandle: function (reqOptions,loadingShowCount,globalLoadingShowCount) {
        wx.hideLoading();
    },
    successPrompt: true,
    failPrompt: true,
    showLoading: false,   //是否显示加载提示
    loadText: wx.shareData.loadindTexts.request
};


/**
 * 给 wx.shareInst 对象 添加计算属性 http ，用以获取全局的 http
 *
 */
Object.defineProperty(wx.shareInst, 'http', {
    get: function () {
        if (!this._http) {
            this.http = new HttpRequest(httpConfig);
        }
        return this._http;
    },
    set: function (newValue) {
        if (newValue && newValue !== this._http) {
            this._http = newValue;
        }
    }
});

